// 冒泡排序
#include <iostream>
#include <algorithm>

void bubbleSort(int arr[], int n)
{
    bool isChange;
    for(int i = 0; i < n - 1; ++i) // 遍历n-1趟(原因 : 最后剩余的一个不用遍历 / 最后一个没有访问遍历到n-1元素为止)
    {
        isChange = false;
        for(int j = 0; j < n - i - 1; ++j) // 缩短遍历范围 -> n -j - 1 : -1是为了防止越界
        {
            if(arr[j] > arr[j+1])
            {
                std::swap(arr[j], arr[j+1]);
                isChange = true;
            }
        }
        if(!isChange) return; // 行内未发生交换说明当前行已经排序完成
    }
}
